<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>角色添加或更改</title>
    <link href="__STATIC__/common/css/bootstrap.min.css" rel="stylesheet">
    <script type="text/javascript" src="__STATIC__/common/js/jquery-3.2.1.min.js"></script>
    <script type="text/javascript" src="__STATIC__/common/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="__STATIC__/common/js/new_common.js"></script>
</head>
<body>

<table class="table table-striped">
    <caption>角色列表</caption>
    <thead>
    <tr>
        <th>角色名</th>
        <th>角色状态</th>
        <th>创建时间</th>
        <th>最后一次更新时间</th>
        <th>软删除时间</th>
        <th>更改该角色</th>
        <th>删除该橘色</th>
    </tr>
    </thead>
    <tbody id="list">

    </tbody>
    <!--<button id="showList" class="btn btn-success">展示角色列表</button>-->
</table>

<form class="form-horizontal" role="form">
    <div class="form-group has-success">
        <label class="col-sm-2 control-label" for="role_name">角色名称</label>
        <div class="col-sm-10">
            <input type="text" class="form-control" id="role_name"  name="name">
        </div>
    </div>

    <div class="form-group has-success">
        <label class="col-sm-2 control-label" for="role_status">角色状态（0:禁用；1:正常）</label>
        <div class="col-sm-10">
            <input type="text" class="form-control" id="role_status" name="status">
        </div>
    </div>
    <button id="add" class="btn btn-success">添加车站</button>
</form>


<!-- 通用框（Modal） -->
<div class="modal fade" id="commonModal" tabindex="-1" role="dialog"
     aria-labelledby="commonModalLabel" aria-hidden="true" style=" z-index: 100000;">
    <div class="modal-dialog" style="margin-top: 12rem;">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h4 class="modal-title" id="commonModalLabel" style="text-align: center;">温馨提示</h4>
            </div>
            <div class="modal-body" id="commonModalBody" style="text-align: center;">
            </div>
            <div class="modal-footer" style="text-align: center;" id="commonModalSubmitCkeck"></div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div>
<!-- /.modal -->

<script>

    var type ; // 如果直接使用api，而不是使用admin，这个type不用设置

    // 1. 文档加载完毕，展示角色列表
    $(document).ready(function () {
        showList();
    });

    // 2. 演示点击按钮展示角色列表
    /*$('#showList').bind('click',function () {
        showList();
    });*/

    // 3.展示角色列表
    function showList(){
        type = 'list';
        var jsonStr = {'type':'list'};
        var url = './editRole';
        submit(url,jsonStr);
    }

    // 4.添加角色
    $('#add').bind('click',function () {
        type = 'add';
        var name = $("input[name='name']").val();
        var status = $("input[name='status']").val();
        var jsonStr = {'type':'add','name':name,'status':status};
        var url = './editRole';
        submit(url,jsonStr);
    });

    // 6.获取一个角色信息
    function updateOne(id) {
        console.dir(id);
        type = 'one';
        var jsonStr = {'type':type,'id':id};
        var url = './editRole';
        submit(url,jsonStr);
    }

    // 7. 将6获取的角色信息展示，并进行修改
    function showCommonModal(oneArr) {
        $('#commonModal').modal({keyboard: true});
        $("#commonModalLabel").html('更改角色');
        $("#commonModalBody").empty();
        $("#commonModalSubmitCkeck").empty();
        $("#commonModalBody").append('角色名：<input name="eName" value="'+oneArr.name+'"> &nbsp;&nbsp;&nbsp;' +
            ' 状态：<input name="eStatus" value="'+oneArr.status+'">');
        var htmlSubBtn = '<button type="button" class="btn btn-default" id="eSubmit" data-dismiss="modal">确定</button>';
        $("#commonModalSubmitCkeck").append(htmlSubBtn);

        $('#eSubmit').bind('click',function () {
            var name = $("input[name='eName']").val();
            var status = $("input[name='eStatus']").val();
            var url = './editRole';
            type = 'update';
            var jsonStr = {'type':type,'id':oneArr.id,'name':name,'status':status};
            submit(url,jsonStr);
        });

    }

    // 8.删除一个角色
    function deleteOne(id) {
        type = 'delete';
        var jsonStr = {'type':type,'id':id};
        var url = './editRole';
        submit(url,jsonStr);
    }


    // 9. 数据提交到后台
    function submit(url,jsonStr) {
        $.ajax({
            url: url,//   请求地址
            type: 'post',//   请求方法
            timeout: 6000,//   超时时间
            async: true,//   true(默认):异步请求,false:同步请求(将锁住浏览器,请求完成才能操作浏览器其它选项)
            beforeSend: function (XMLHttpRequest) {},//    请求前执行的操作
            cache: false,//   true,使用缓存;false(默认),不使用缓存
            complete: function (XMLHttpRequest, textStatus) {},//    请求后执行的操作,不管请求是否成功都执行
            contentType: 'application/x-www-form-urlencoded',//  发送至服务器时的编码类型,默认适合大多数应用场景
            data: jsonStr,//  发送至服务器的数据参数,以 key/value 格式发送
            dataType: 'json',//  默认服务器返回的格式,有: xml\html\script\json\jsonp
            error: function (XMLHttpRequest, textStutus, errorThrown) {},//    请求失败将调用此方法
            global: true,//  是否出发全局ajax事件 , true,是; false(默认),否;
            ifModified: false,//  仅在服务器数据改变时捕获新数据,默认false
            processData: true,//     默认true,默认情况下,发送的数据将被转换为对象
            success: function (result, textStatus) { //     请求成功返回回调值,并执行的方法
                switch (type) {
                    case 'list':
                        var list = result.data;
                        var htmlArr = [];
                        for (var i = 0; i < list.length; i++) {
                            var html = ' <tr>\n' +
                                '        <td>' + list[i].name + '</td>\n' +
                                '        <td>' + list[i].status + '</td>\n' +
                                '        <td>' + list[i].create_time + '</td>\n' +
                                '        <td>' + list[i].update_time + '</td>\n' +
                                '        <td>' + list[i].delete_time + '</td>\n' +
                                '        <td style="color: green;" onclick="updateOne(\'' + list[i].id + '\')">更改</td>\n' +
                                '        <td style="color: red;" onclick="deleteOne(\'' + list[i].id + '\')">删除</td>\n' +
                                '    </tr>';
                            htmlArr.push(html);
                        }
                        $('#list').empty();
                        $('#list').append(htmlArr.join(''));
                        break;
                    case 'one':
                        // 5.展示一个角色
                        showCommonModal(result.data);
                        break;
                    case 'update':
                    case 'delete':
                    case 'add':
                        showList();
                        break;
                    default:
                        console.dir(result)
                }

            }
        });
    }

</script>
</body>
</html>